Two symbols in a pattern may have their order changed by swapping their individual locations in the pattern by means of a random process. This randomization may be controlled by a random-seed.
(change-order 0.13 '(a b c d e f g h))
--> (a b c d g f e h)
Use this function with gen-evolve and gen-consecutive:
(gen-evolve 3 '(change-order nil x)
'(a b c d e f g) :list 0.13)
-->((a b c d e f g) (a b c f e d g) (a b c f e g d)
--> (b a c f e g d))
(gen-consecutive 3 '(change-order nil x)
'(a b c d e f g) 0.13)
--> ((a b c d e f g) (a b c f e d g) (a b c d e g f)
--> (b a c d e f g))
Note that the random seed is not set in these examples.